#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll mod = 1e9 + 7;
int returnRes(vector<int> &v) {
int n = (int)v.size(), res = 0;
for(int i = 1; i < n; i++) {
if(v[i] > v[i - 1]) {
++res;
}
}
return res;
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int tt;
cin >> tt;
while(tt--) {
int n;
cin >> n;
vector<int> v(n);
for(int i = 0; i < n; i++) {
cin >> v[i];
}
if(n < 3) {
cout << "0\n";
continue;
}
vector<int> a, b;
a.push_back(0);
a.push_back(v[0]);
b.push_back(0);
for(int i = 1; i < n; i++) {
if(v[i] <= a.back() && v[i] <= b.back()) {
if(a.back() < b.back()) {
a.push_back(v[i]);
} else {
b.push_back(v[i]);
}
} else if(v[i] <= a.back()) {
a.push_back(v[i]);
} else if(v[i] <= b.back()) {
b.push_back(v[i]);
} else if(a.back() < b.back()) {
a.push_back(v[i]);
} else {
b.push_back(v[i]);
}
}
int res = returnRes(a) + returnRes(b);
cout << res - 2 + ((int)b.size() == 1 ? 1 : 0) << "\n";
}
}
1517D - Explorer Space | 1230B - Ania and Minimizing |
1201A - Important Exam | 676A - Nicholas and Permutation |
431A - Black Square | 474B - Worms |
987B - High School Become Human | 1223A - CME |
1658B - Marin and Anti-coprime Permutation | 14B - Young Photographer |
143A - Help Vasilisa the Wise 2 | 320A - Magic Numbers |
1658A - Marin and Photoshoot | 514A - Chewbaсca and Number |
382A - Ksenia and Pan Scales | 734B - Anton and Digits |
1080A - Petya and Origami | 1642D - Repetitions Decoding |
1440A - Buy the String | 1658F - Juju and Binary String |
478A - Initial Bet | 981A - Antipalindrome |
365A - Good Number | 1204B - Mislove Has Lost an Array |
1409D - Decrease the Sum of Digits | 1476E - Pattern Matching |
1107A - Digits Sequence Dividing | 1348A - Phoenix and Balance |
1343B - Balanced Array | 1186A - Vus the Cossack and a Contest |